home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / cg.lha / cg / src / Positions.mi < prev    next >
Text File  |  1992-11-24  |  1KB  |  41 lines

  1. (* $Id: Positions.mi,v 1.4 1991/11/21 14:33:17 grosch rel $ *)
  2.  
  3. (* $Log: Positions.mi,v $
  4.  *)
  5.  
  6. (* Ich, Doktor Josef Grosch, Informatiker, Juli 1992 *)
  7.  
  8. IMPLEMENTATION MODULE Positions;
  9.  
  10. FROM IO        IMPORT tFile, WriteS, WriteI, WriteC;
  11. FROM Idents    IMPORT tIdent, NoIdent, WriteIdent;
  12.  
  13. PROCEDURE Compare (Position1, Position2: tPosition): INTEGER;
  14.    BEGIN
  15.       WITH Position1 DO
  16.      IF File   < Position2.File   THEN RETURN -1; END;
  17.      IF File   > Position2.File   THEN RETURN  1; END;
  18.      IF Line   < Position2.Line   THEN RETURN -1; END;
  19.      IF Line   > Position2.Line   THEN RETURN  1; END;
  20.      IF Column < Position2.Column THEN RETURN -1; END;
  21.      IF Column > Position2.Column THEN RETURN  1; END;
  22.      RETURN 0;
  23.       END;
  24.    END Compare;
  25.  
  26. PROCEDURE WritePosition (File: tFile; Position: tPosition);
  27.    BEGIN
  28.       WriteC (File, '"');
  29.       WriteIdent (File, Position.File);
  30.       WriteS (File, '", ');
  31.       WriteI (File, Position.Line  , 3);
  32.       WriteS (File, ", ");
  33.       WriteI (File, Position.Column, 2);
  34.    END WritePosition;
  35.  
  36. BEGIN
  37.    NoPosition.File    := NoIdent;
  38.    NoPosition.Line    := 0;
  39.    NoPosition.Column    := 0;
  40. END Positions.
  41.